package com.share.jconsole;

import java.lang.management.ManagementFactory;

import javax.management.MBeanServer;
import javax.management.ObjectName;

import com.share.Mbean.Hello;

/**
 * 1、基础层：主要是MBean，被管理的资源。
 * 2、适配层：MBeanServer，主要是提供对资源的注册和管理。
 * 3、接入层：提供远程访问的入口。
 * 
 * MBean接入层:内置的两种本地访问 方式 jconsole、html
 */
public class HelloAgent {
	public static void main(String[] args) throws Exception {

		//1 获取MBeanServer，用来做MBean的容器
		MBeanServer server = ManagementFactory.getPlatformMBeanServer();
		//2 ObjectName是 MBean的唯一标识. 命名规范:[域名:name=MBean名称] 域名和MBean的名称可以任意取.
		ObjectName helloName = new ObjectName("sunxj-jmx:name=hello");
		//3 将mbean注入MBeanService,注入时需要创建一个ObjectName类
		server.registerMBean(new Hello(), helloName);
		
		System.out.println("jconsole方式：HelloAgent start...");
		Thread.sleep(60*60*1000);
	}

}
